	\section{Boundary conditions}
		\textbf{Configuration cases} \\
		The handling of appointments, users and calendar data is already handled in the use cases developed in the RAD. However, the administrative task of managing users of a calendar is needed. Hence, we identify a use case invoked by a \textit{CalendarOwner}, \textit{ManageCalendar}
		\begin{table}[!ht]
		\begin{tabular}{l p{4in}}
		\hline
		\textbf{ManageCalendar} & The CalendarOwner adds and removes users of the Calendar, along with editing permissions of the current users. The permissions are saved on the server and a notification is sent out to the affected user(s). \\
		\hline
		\end{tabular}
		\caption{Boundary case for the Calendar system}
		\end{table}
		
		\textbf{Start-up and shutdown cases} \\
		The Calendar server should not require any configuration by an administrator on start-up, and as such shouldn't require a use case. We do, however, define a use case for the shutdown.
		\begin{table}[!ht]
		\begin{tabular}{l p{4in}}
		\hline
		\textbf{ShutdownCalendarServer} & The server administrator turns off the server. The server denies any more incoming requests and saves all persistent data to the database. \\
		\hline
		\end{tabular}
		\caption{Shutdown boundary case for the Calendar system}
		\end{table}
		
		\textbf{Exception cases} \\
		Our Calendar system can experience the following failures when running:
		\begin{itemize}
			\item A communication failure in which the Storage subsystem cannot communicate with the Database
			\item A network failure in which the server cannot be reached by the clients
			\item A system failure in which the system unexpectedly ends or crashes
		\end{itemize}
		The first type is handled by the exception case RetryDatabaseConnection. The second failure is handled by notifying clients of a network failure, similar to a typical browser message. The third failure can result in some data loss, if the server has received an object but hasn't saved it to the database yet. The loss, though, is miniscule, and can be handled by sending an error message to the client, that the server experienced and error and that the changes should be resent later.
		\begin{table}[!ht]
		\begin{tabular}{l p{4in}}
		\hline
		\textbf{RetryDatabaseConnection} & The Calendar system attempts to reconnect to the database. If the database is still unavailable, the system will display an error message to the server administrator. All incoming changes will be saved to the disk until database connection is reestablished. \\
		\hline
		\end{tabular}
		\caption{Boundary exception case for the Calendar system}
		\end{table}